﻿using Backend.Data.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;
namespace Backend.Data.Managers
{
   public  class GeoReferenciaManager
    {
       public static IList<GeoReferencia> GetList()
       {
           //throw new NotImplementedException();
           using (BackendDbContext ctx = new BackendDbContext())
           {
               return ctx.GeoReferencias.ToList();
           }
       }

       public static GeoReferencia GetById(Guid id)
       {
           using (BackendDbContext ctx = new BackendDbContext())
           {
               GeoReferencia geoReferencia = ctx.GeoReferencias.Find(id);
               if (geoReferencia == null)
               {
                   throw new Exception("Legal Entity no found in data base.");
               }
               return geoReferencia;
           }
       }


       public static GeoReferencia Create(GeoReferencia geoReferencia)
       {

           using (BackendDbContext ctx = new BackendDbContext())
           {
               GeoReferencia d = ctx.GeoReferencias.Add(geoReferencia);
               ctx.SaveChanges();
               return d;
           }
       }

       public static GeoReferencia Update(GeoReferencia geoReferencia)
       {
           using (BackendDbContext ctx = new BackendDbContext())
           {
               ctx.Entry(geoReferencia).State = EntityState.Modified;
               ctx.SaveChanges();
               return geoReferencia;
           }
       }


       public static void Delete(Guid id)
       {
           using (BackendDbContext ctx = new BackendDbContext())
           {
               GeoReferencia geoReferencia = ctx.GeoReferencias.Find(id);
               if (geoReferencia == null)
               {
                   throw new Exception("Legal Entity Ent no found in data base.");
               }
               ctx.GeoReferencias.Remove(geoReferencia);
               ctx.SaveChanges();
           }
       }






    }
}
